
#include <stdlib.h>
#include <string.h>

#include "Dato.h"

struct _Dato {
	int posArchivo;
	int offsetDocumento;
};

// Crea un Dato en el cual guarda las posiciones De los duc y el offset del documento
Dato_t *  Dato_crear (int posArchivo, int offsetDocumento) {
	
	Dato_t* dato = malloc ( sizeof (Dato_t) );
	if (!dato) return NULL;
	
	
	dato->posArchivo = posArchivo;
	dato->offsetDocumento = offsetDocumento;
	
	return dato;
}

int Dato_ObtenerPosicion ( Dato_t* Dato) {
	if (!Dato) return -1;
	return (Dato->posArchivo);
}

int Dato_ObtenerOffset (Dato_t* Dato) {	
	if (!Dato) return -1;
	return (Dato->offsetDocumento);

}


//Devuelve negativo si Dato1 < Dato2, 0 en caso de igualdad
//positivo si es >
int Dato_Comparar (Dato_t* Dato1, Dato_t* Dato2) {		
	return (Dato1->posArchivo - Dato2->posArchivo);
	
}

//destruye el Dato_t
void Dato_destruir (Dato_t* Dato) {
	if (!Dato) return;
	free (Dato);
}


